Industrial controllers are often employed in integrated manufacturing operations that can often involve high-complexity manufacturing processes. Such processes which are sometimes referred to as batch processes are involved in many areas of modern production. These areas include substantially any type of packaged products that are commonly found in grocery stores or other distribution outlets. For example, these products include beverages, candies, sugar, flour, pastries, cereals, frozen products, cheeses, and so forth. Often, complex factory equipment arrangements and programming are provided to produce all or portions of such products. Programming is often provided in terms of Sequential Function Blocks and Charts that relate logical programmed production operations to equipment assets that control the operations. Generally, batch processes operate on high-performance server systems that send commands to controllers and other devices to produce a product. Discrete processing involves the manufacture of larger components from discrete hardware and often involves an automated assembly line. Modern automobile manufacture is a good example of a discrete process. Batch processing typically involves the mixture of materials such as in an automated recipe.
One challenge facing automated processing systems is the requirement to produce various different types of products within the confines of a single manufacturing center or facility. For example, often times hundreds of different types of recipes are maintained for some product families that only vary slightly in terms of the actual ingredients in the recipe. Thus, for a product such as cherry vanilla ice cream and a product such as strawberry vanilla ice cream, two different recipes would be required to be maintained—although the only difference in recipe content is the type of fruit employed in the final production process. As can be appreciated, as product families grow in terms of quantity and diversity, maintenance of such recipes, respective programs, and equipment to produce such products becomes ever more complicated in terms of product/factory management but also in terms of maintaining quality within and across product lines.
Another type of challenge facing these processing systems is the notion that various equipment can serve multiple roles and have differing degrees of availability to a given automated process. For example, one container that is normally used as a mixing vessel may be unavailable due to maintenance down time. In another example, the same container may be employed in a different process and currently unavailable to a current real time process at hand. Not only does equipment have differing degrees of availability and usage, such equipment may also have differing degrees of functionality. For instance, one vessel may be associated with two material feed lines whereas another vessel may have a single feed. If a batch processing component were to account for all these type of nuances involving availability and functionality, a significant programming and performance overhead can be encountered for a respective processing machine. This leads to added cost for software development and less efficient performance during operation of the process.